home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Personal Computer World 2009 February
/
PCWFEB09.iso
/
Software
/
Resources
/
Chat & Communication
/
Digsby build 37
/
digsby_setup.exe
/
lib
/
glob.pyo
(
.txt
)
< prev
next >
Wrap
Python Compiled Bytecode
|
2008-10-13
|
2KB
|
78 lines
# Source Generated with Decompyle++
# File: in.pyo (Python 2.5)
import os
import fnmatch
import re
__all__ = [
'glob',
'iglob']
def glob(pathname):
return list(iglob(pathname))
def iglob(pathname):
if not has_magic(pathname):
if os.path.lexists(pathname):
yield pathname
return None
(dirname, basename) = os.path.split(pathname)
if not dirname:
for name in glob1(os.curdir, basename):
yield name
return None
if has_magic(dirname):
dirs = iglob(dirname)
else:
dirs = [
dirname]
if has_magic(basename):
glob_in_dir = glob1
else:
glob_in_dir = glob0
for dirname in dirs:
for name in glob_in_dir(dirname, basename):
yield os.path.join(dirname, name)
def glob1(dirname, pattern):
if not dirname:
dirname = os.curdir
try:
names = os.listdir(dirname)
except os.error:
return []
if pattern[0] != '.':
names = filter((lambda x: x[0] != '.'), names)
return fnmatch.filter(names, pattern)
def glob0(dirname, basename):
if basename == '':
if os.path.isdir(dirname):
return [
basename]
elif os.path.lexists(os.path.join(dirname, basename)):
return [
basename]
return []
magic_check = re.compile('[*?[]')
def has_magic(s):
return magic_check.search(s) is not None